From de16a4e07c610eb7e8e824b08d43af969f79424d Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Fri, 23 Oct 2015 10:33:41 +0800 Subject: [PATCH] MSVC release builds: Ensure that /LTCG is used MSVC 2015 changed its default link-time code generation setting to /LTCG:incremental, which causes problems if /opt:noref is to be used, meaning that some code will be optimized out by the linker. Avoid this situtation here by enforcing the use of /LTCG for MSVC 2010+ builds. --- build/win32/vs10/broadwayd.vcxprojin | 2 + build/win32/vs10/gailutil-3.vcxprojin | 46 ++++++++++--------- build/win32/vs10/gdk-3.vcxprojin | 18 +++++--- build/win32/vs10/gtk-3.vcxprojin | 10 ++-- .../vs10/gtk-encode-symbolic-svg.vcxproj | 2 + .../vs10/gtk3-demo-application.vcxprojin | 2 + build/win32/vs10/gtk3-demo.vcxprojin | 30 ++++++------ build/win32/vs10/gtk3-icon-browser.vcxprojin | 2 + 8 files changed, 65 insertions(+), 47 deletions(-) diff --git a/build/win32/vs10/broadwayd.vcxprojin b/build/win32/vs10/broadwayd.vcxprojin index 163e9c5fa0..b0acecb82d 100644 --- a/build/win32/vs10/broadwayd.vcxprojin +++ b/build/win32/vs10/broadwayd.vcxprojin @@ -111,6 +111,7 @@ Console true true + UseLinkTimeCodeGeneration MachineX86 @@ -159,6 +160,7 @@ Console true true + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gailutil-3.vcxprojin b/build/win32/vs10/gailutil-3.vcxprojin index c317fe6794..181954919b 100644 --- a/build/win32/vs10/gailutil-3.vcxprojin +++ b/build/win32/vs10/gailutil-3.vcxprojin @@ -88,22 +88,22 @@ atk-1.0.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll - true - $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb ..\..\..\libgail-util\gailutil.def $(TargetDir)$(ProjectName).0.lib + true + $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows MachineX86 - + - Disabled + MaxSpeed + true ..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories) - _DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL + GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDLL + true Level3 @@ -113,21 +113,24 @@ atk-1.0.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll ..\..\..\libgail-util\gailutil.def + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - $(TargetDir)$(ProjectName).0.lib - MachineX64 + true + true + UseLinkTimeCodeGeneration + MachineX86 - + - MaxSpeed - true + Disabled ..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories) - GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions) - MultiThreadedDLL - true + _DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL Level3 @@ -136,14 +139,12 @@ atk-1.0.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll - true - $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb ..\..\..\libgail-util\gailutil.def $(TargetDir)$(ProjectName).0.lib + true + $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - true - true - MachineX86 + MachineX64 @@ -160,12 +161,13 @@ atk-1.0.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll ..\..\..\libgail-util\gailutil.def + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gdk-3.vcxprojin b/build/win32/vs10/gdk-3.vcxprojin index 4c8cec4188..6e6b159afe 100644 --- a/build/win32/vs10/gdk-3.vcxprojin +++ b/build/win32/vs10/gdk-3.vcxprojin @@ -169,10 +169,10 @@ imm32.lib;winmm.lib;ws2_32.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - $(TargetDir)$(ProjectName).0.lib MachineX86 @@ -189,12 +189,13 @@ imm32.lib;winmm.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX86 @@ -211,12 +212,13 @@ imm32.lib;winmm.lib;ws2_32.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX86 @@ -236,10 +238,10 @@ imm32.lib;winmm.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - $(TargetDir)$(ProjectName).0.lib MachineX64 @@ -259,10 +261,10 @@ imm32.lib;winmm.lib;ws2_32.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - $(TargetDir)$(ProjectName).0.lib MachineX64 @@ -279,12 +281,13 @@ imm32.lib;winmm.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX64 @@ -301,12 +304,13 @@ imm32.lib;winmm.lib;ws2_32.lib;dwmapi.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gtk-3.vcxprojin b/build/win32/vs10/gtk-3.vcxprojin index 7413ffce80..77557ed07a 100644 --- a/build/win32/vs10/gtk-3.vcxprojin +++ b/build/win32/vs10/gtk-3.vcxprojin @@ -88,10 +88,10 @@ atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - $(TargetDir)$(ProjectName).0.lib MachineX86 @@ -108,12 +108,13 @@ atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX86 @@ -133,10 +134,10 @@ atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows - $(TargetDir)$(ProjectName).0.lib MachineX64 @@ -153,12 +154,13 @@ atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies) $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll + $(TargetDir)$(ProjectName).0.lib true $(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).pdb Windows true true - $(TargetDir)$(ProjectName).0.lib + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gtk-encode-symbolic-svg.vcxproj b/build/win32/vs10/gtk-encode-symbolic-svg.vcxproj index 4d9858a3fa..3f6392ea75 100644 --- a/build/win32/vs10/gtk-encode-symbolic-svg.vcxproj +++ b/build/win32/vs10/gtk-encode-symbolic-svg.vcxproj @@ -111,6 +111,7 @@ Console true true + UseLinkTimeCodeGeneration MachineX86 @@ -159,6 +160,7 @@ Console true true + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gtk3-demo-application.vcxprojin b/build/win32/vs10/gtk3-demo-application.vcxprojin index 1d7d9af4ac..a2b8e5b56c 100644 --- a/build/win32/vs10/gtk3-demo-application.vcxprojin +++ b/build/win32/vs10/gtk3-demo-application.vcxprojin @@ -107,6 +107,7 @@ Console false true + UseLinkTimeCodeGeneration MachineX86 @@ -151,6 +152,7 @@ Console false true + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gtk3-demo.vcxprojin b/build/win32/vs10/gtk3-demo.vcxprojin index 16b1e7a23b..614fada720 100644 --- a/build/win32/vs10/gtk3-demo.vcxprojin +++ b/build/win32/vs10/gtk3-demo.vcxprojin @@ -96,14 +96,11 @@ MachineX86 - + - Disabled ..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories) - _DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions) - true - EnableFastChecks - MultiThreadedDebugDLL + $(GtkPrefixDefine);%(PreprocessorDefinitions) + MultiThreadedDLL Level3 @@ -114,17 +111,24 @@ %(AdditionalDependencies) true Console + false + false + true false - MachineX64 + UseLinkTimeCodeGeneration + MachineX86 - + + Disabled ..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories) - $(GtkPrefixDefine);%(PreprocessorDefinitions) - MultiThreadedDLL + _DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL Level3 @@ -135,13 +139,10 @@ %(AdditionalDependencies) true Console - false - false - true false - MachineX86 + MachineX64 @@ -165,6 +166,7 @@ false + UseLinkTimeCodeGeneration MachineX64 diff --git a/build/win32/vs10/gtk3-icon-browser.vcxprojin b/build/win32/vs10/gtk3-icon-browser.vcxprojin index 80fd216e79..c934e30adc 100644 --- a/build/win32/vs10/gtk3-icon-browser.vcxprojin +++ b/build/win32/vs10/gtk3-icon-browser.vcxprojin @@ -109,6 +109,7 @@ Console false true + UseLinkTimeCodeGeneration MachineX86 @@ -155,6 +156,7 @@ Console false true + UseLinkTimeCodeGeneration MachineX64 -- 2.30.2